Unreal Engine
| latest release version = | latest preview version = | repo = | programming language = C++ | operating system = | platform = | language = | genre = Game engine | license = Source-available commercial software with royalty model for commercial use | alexa = |inline=y}} | website = | Preview Release = 4.23.0 Preview 2 }} The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although initially developed for first-person shooters, it has been successfully used in a variety of other genres, including platformers, fighting games, MMORPGs, and other RPGs. With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today, with it being source-available. The most recent version is Unreal Engine 4, which was released in 2014. History First generation: Unreal & Unreal Tournament The first-generation Unreal Engine was developed by Tim Sweeney, the founder of Epic Games. Having been programming since an early age and creating editing tools for ZZT (1991) and Jill of the Jungle (1992), Sweeney began writing the engine in 1995 for the production of a game that would later become a first-person shooter known as Unreal. After years in development, it debuted with the game's release in 1998, although MicroProse and Legend Entertainment had access to the technology much earlier, licensing it in 1996. According to an interview, Sweeney "wrote 90 percent of the code in the engine." written in Visual Basic.]] Among the features of the engine were collision detection, colored lighting, and a limited form of texture filtering. The engine also integrated a level editor, UnrealEd, that had support for real-time constructive solid geometry operations as early as 1996, allowing mappers to change the level layout on the fly. Even though Unreal was designed to compete with id Software, developers of Doom and Quake, the game was praised by John Carmack for its use of 16-bit color and ambient effects such as volumetric fog. "I doubt any important game will be designed with 8-bit color in mind from now on. Unreal has done an important thing in pushing toward direct color, and this gives the artists a lot more freedom," he said in an article written by Geoff Keighley for GameSpot. "Light blooms spheres of light, fog volumes, and composite skies were steps I was planning on taking, but Epic got there first with Unreal." Another notable feature was the introduction of real-time direct illumination in 1995. At first, the engine relied on software rendering, meaning the graphics calculations were handled by the CPU. However, over time, it was able to take advantage of the possibilities provided by graphics cards, a process that required Sweeney to rewrite the core rendering algorithm several times. As a result, both software and hardware rendering coexisted in the foundational software, with the latter focusing on 3dfx's Glide API; OpenGL and Direct3D were also supported, though had slower performance compared to Glide due to deficiency in texture management. With regard to audio, Epic employed the Galaxy Sound System, a software programmed in assembly language that supported, along with 8-bit and 16-bit audio, both EAX and Aureal capabilities and allowed the use of module music, a set of formats created through trackers that contained recorded samples and sequencing information for playback. In addition to being available on Microsoft Windows, Linux, Mac and Unix, the engine was ported through Unreal Tournament to PlayStation 2 and, with the help of Secret Level, to Dreamcast. By late 1999, The New York Times indicated that the number of external projects using Epic's technology was 16, naming the likes of Deus Ex, The Wheel of Time, and Duke Nukem Forever, the title from 3D Realms that was set to debut the Duke Nukem series on the GameCube console. Unlike id Software, whose engine business was only based in supplying the source code via XCOPY, Epic provided technical support for licensees and met with them to discuss improvements to its game development system. While it cost around $3 million to produce and licenses for up to $350,000, Epic gave players the ability to modify its games with the incorporation of UnrealEd and a scripting language called UnrealScript, sparking a community of enthusiasts around a game engine built to be extensible over multiple generations of games. }} Unreal Engine 2 '' was built in Unreal Engine 2.]] In October 1998, IGN reported, based on an interview with affiliate Voodoo Extreme, that Sweeney was doing research for his next-generation engine. With development starting a year later, the second version made its debut in 2002 with America's Army, a free multiplayer shooter developed by the U.S. Army as part of its recruitment strategy. Though based on previous technology, this generation saw many advances in rendering terms and new improvements to its tools set. Besides a completely rewritten renderer, capable of running levels nearly 100 times more detailed than those found in Unreal, the engine was updated to include a variety of features, including a skeletal animation system, which had been used in the PlayStation 2 version of Unreal Tournament, the Matinee cinematic editing tool, particle systems, and export plug-ins for 3D Studio Max and Maya. In a second revision, UnrealEd saw its framework rewritten in C++ using the wxWidgets toolkit. Physical simulations, such as ragdoll player collisions and arbitrary rigid body dynamics, were powered by the Karma physics engine. Both Unreal Tournament 2003 and Unreal Championship took advantage of this software. Unreal Championship brought Xbox support to the franchise, becoming one of the first games to utilize Microsoft's Xbox Live. With Unreal Tournament 2004, vehicle-based gameplay was successfully implemented, enabling large-scale combat. While UT2003 had support for vehicle physics through the Karma engine, as demonstrated by a testmap with a "hastily-constructed vehicle", it wasn't until Psyonix created a modification out of Epic's base code that the game received fully coded vehicles. Impressed by Psyonix's efforts, Epic decided to include it in its successor as a new game mode under the name of Onslaught by hiring Psyonix as a contractor. Psyonix would later develop Rocket League before being acquired by Epic in 2019. A specialized version of UE2 called UE2X was designed for Unreal Championship 2: The Liandri Conflict on the original Xbox platform, featuring optimizations specific to that console. In March 2011, Ubisoft Montreal revealed that UE2 was successfully running on the Nintendo 3DS. Unreal Engine 3 Screenshots of Unreal Engine 3 were presented in 2004, at which point the engine had already been in development for over 18 months. Because of the modular nature of Epic's technology, Unreal Engine 3 contains code from the first-generation. "The basic architectural decisions visible to programmers of an object-oriented design, a data-driven scripting approach, and a fairly modular approach to subsystems still remain Unreal Engine 1. But the parts of the game that are really visible to gamers –the renderer, the physics system, the sound system, and the tools– are all visibly new and dramatically more powerful," said Sweeney. Unlike Unreal Engine 2, which still supported a fixed-function pipeline, Unreal Engine 3 was designed to take advantage of fully programmable shader hardware. All lighting and shadowing calculations were done per-pixel, instead of per-vertex. On the rendering side, Unreal Engine 3 provided support for a gamma-correct high-dynamic range renderer. The first games released using Unreal Engine 3 were Gears of War for Xbox 360, and RoboBlitz for Windows, which were both released on November 7, 2006. Initially, Unreal Engine 3 only supported Windows, PlayStation 3, and Xbox 360 platforms, while iOS (first demonstrated with Epic Citadel) and Android were added later in 2010, with Infinity Blade being the first iOS title and Dungeon Defenders the first Android title. In 2011, it was announced that the engine would support Adobe Flash Player 11 through the Stage 3D hardware-accelerated APIs and that it was being used in two Wii U games, Batman: Arkham City and Aliens: Colonial Marines. In 2013, Epic teamed-up with Mozilla to bring Unreal Engine 3 to the web. Using the asm.js sublanguage and Emscripten compiler, they were able to port the engine in four days. Throughout the lifetime of UE3, significant updates were incorporated, including improved destructible environments, soft body dynamics, large crowd simulation, iPod Touch functionality, Steamworks integration, a real-time global illumination solution, and stereoscopic 3D on Xbox 360 via TriOviz for Games Technology. DirectX 11 support was demonstrated with the Samaritan demo, which was unveiled at the 2011 Game Developers Conference and built by Epic Games in a close partnership with NVIDIA, with engineers working around the country to push real-time graphics to a new high point. Unreal Development Kit While Unreal Engine 3 was quite open for modders to work with, the ability to publish and sell games made using UE3 was restricted to licensees of the engine. However, in November 2009, Epic released a free version of UE3's SDK, called the Unreal Development Kit (UDK), that is available to the general public. In December 2010, the kit was updated to include support for creating iOS games and apps. OS X support followed in the September 2011 release. Unreal Engine 4 In August 2005, Mark Rein, the vice-president of Epic Games, revealed that Unreal Engine 4 had been in development since 2003. Until 2008, development was "basically" done by Sweeney. In February 2012, Rein said "people are going to be shocked later this year when they see Unreal Engine 4"; Epic unveiled UE4 to limited attendees at the 2012 Game Developers Conference, and a video of the engine being demonstrated by technical artist Alan "Talisman" Willard was released to the public on June 7, 2012 via GameTrailers TV. One of the major features planned for UE4 was real-time global illumination using voxel cone tracing, eliminating pre-computed lighting. However, this feature, called Sparse Voxel Octree Global Illumination (SVOGI), has been replaced with a similar but less computationally expensive algorithm due to performance concerns. UE4 also includes new developer features to reduce iteration time, and allows updating of C++ code while the engine is running. The new "Blueprints" visual scripting system (a successor to UE3's "Kismet") allows for rapid development of game logic without using C++, and includes live debugging. The result is reduced iteration time, and less of a divide between technical artists, designers, and programmers. On March 19, 2014, at the Game Developers Conference (GDC), Epic Games released Unreal Engine 4 through a new licensing model. For a monthly subscription at , developers were given access to the full version of the engine, including the C++ source code, which could be downloaded via GitHub. Any released product was charged with a 5% royalty of gross revenues. The first game released using Unreal Engine 4 was Daylight, developed with early access to the engine and released on April 29, 2014. On September 4, 2014, Epic released Unreal Engine 4 to schools and universities for free, including personal copies for students enrolled in accredited video game development, computer science, art, architecture, simulation, and visualization programs. On February 19, 2015, Epic launched Unreal Dev Grants, a $5 million development fund aiming to provide grants to creative projects using Unreal Engine 4. During the March 2015 Game Developers Conference, Epic announced that they would release Unreal Engine 4, along with all future updates, for free for all users. In exchange, Epic established a selective royalty schedule, asking for 5% of revenue for products that make more than $3,000 per quarter, as well as establishing an Unreal Marketplace for users to sell content with Epic taking a cut of sales from this as well. Sweeney stated that when they moved to the subscription model in 2014, use of Unreal grew by 10 times and through many smaller developers, and believed that they would draw even more uses through this new pricing scheme. In an attempt to attract Unreal Engine developers, Oculus VR announced in October 2016 that it will pay royalty fees for all Unreal-powered Oculus Rift titles published on their store for up to the first $5 million of gross revenue per game. To prepare for the release of its free-to-play "Battle Royale" mode in Fortnite in September 2017, Epic had to make a number of Unreal Engine modifications that helped it to handle a large number (up to 100) of connections to the same server while still retaining high bandwidth, and to improve the rendering of a large open in-game world. Epic incorporated these changes into future updates of the Unreal Engine. With the opening of the Epic Games Store in December 2018, Epic will not charge the 5% revenue fee on games that use the Unreal Engine and released through the Epic Games Stores, absorbing that cost as part of the base 12% cut Epic is taking to cover other costs. Supported platforms * macOS * Linux * SteamOS * HTML5 * iOS * Android * Nintendo Switch * PlayStation 4 * Xbox One * Magic Leap One * HTC Vive * Oculus Rift * PlayStation VR * Google Daydream * OSVR * Samsung Gear VR * HoloLens 2 }} UnrealScript | developer = Tim Sweeney | typing = Static, strong, safe | influenced by = C++, Java | operating system = Cross-platform (multi-platform) | website = docs.unrealengine.com | file ext = .uc .uci .upkg }} UnrealScript (often abbreviated to UScript) was Unreal Engine's native scripting language used for authoring game code and gameplay events before the release of Unreal Engine 4. The language was designed for simple, high-level game programming. The UnrealScript interpreter was programmed by Sweeney, who also created an earlier game scripting language, ZZT-oop. Similar to Java, UnrealScript was object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes were defined in individual files named for the class they define. Unlike Java, UnrealScript did not have object wrappers for primitive types. Interfaces were only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supported operator overloading, but not method overloading, except for optional parameters. At the 2012 Game Developers Conference, Epic announced that UnrealScript was being removed from Unreal Engine 4 in favor of C++. Visual scripting would be supported by the Blueprints Visual Scripting system, a replacement for the earlier Kismet visual scripting system. }} Marketplace With Unreal Engine 4, Epic opened the Unreal Engine Marketplace in September 2014. The Marketplace is a digital storefront that allows content creators and developers to provide art assets, models, sounds, environments, code snippets, and other features that others could purchase, along with tutorials and other guides. Some content is provided for free by Epic, including previously offered Unreal assets and tutorials. Prior to July 2018, Epic took a 30% share of the sales but due to the success of Unreal and Fortnite Battle Royale, Epic retroactively reduced its take to 12%. Awards * Technology & Engineering Emmy Award from the National Academy of Television Arts and Sciences for "3D Engine Software for the Production of Animation" in 2018 * Game Developer Magazine Front Line Award for Best Game Engine for 2004, 2005, 2006, 2007, 2009, 2010, 2011, and 2012 * Develop Industry Excellence Award for Best Engine for 2009, 2010, 2011 2013, 2016, 2017, and 2018 * Guinness World Record for most successful video game engine See also * List of Unreal Engine games References Further reading * * * * * * * * * * * * * * * * * * * * External links * Category:1998 software Category:3D graphics software Category:Articles containing video clips Category:Epic Games Category:Game engines for Linux Category:Game engines that support Mantle Category:Game engines that support Vulkan Category:iPhone video game engines Unreal S Category:Unreal (video game series) Category:Unreal Engine Category:Video game engines Category:Video game IDE Category:Virtual reality